package co.edu.usbcali.sgi.modelo.dto;

import co.edu.usbcali.sgi.modelo.Factura;
import co.edu.usbcali.sgi.presentation.backEndBeans.FacturaView;

import java.io.Serializable;

import java.util.Date;

import javax.faces.event.ActionEvent;


/**
*
*
* @author Zathura Code Generator http://code.google.com/p/zathura
*
*/
public class FacturaDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    private String estCod_Estado;
    private String proInmCod_PropietarioInmueble;
    private String facCod;
    private Date facFecha;
    private boolean rowSelected = false;
    private FacturaView facturaView;
    private Factura factura;

    public Factura getFactura() {
        return factura;
    }

    public String listener_update(ActionEvent e) {
        try {
            facturaView.action_modifyWitDTO(((facCod == null) ||
                facCod.equals("")) ? null : new String(facCod),
                ((facFecha == null) || facFecha.equals("")) ? null : facFecha,
                ((estCod_Estado == null) || estCod_Estado.equals("")) ? null
                                                                      : new String(
                    estCod_Estado),
                ((proInmCod_PropietarioInmueble == null) ||
                proInmCod_PropietarioInmueble.equals("")) ? null
                                                          : new String(
                    proInmCod_PropietarioInmueble));
            rowSelected = !rowSelected;
        } catch (Exception ex) {
            return "";
        }

        return "";
    }

    public void listener_cancel(ActionEvent e) {
        facCod = factura.getFacCod().toString();
        facFecha = factura.getFacFecha();
        estCod_Estado = (factura.getEstado().getEstCod() != null)
            ? factura.getEstado().getEstCod().toString() : null;
        proInmCod_PropietarioInmueble = (factura.getPropietarioInmueble()
                                                .getProInmCod() != null)
            ? factura.getPropietarioInmueble().getProInmCod().toString() : null;
        rowSelected = !rowSelected;
    }

    /**
    * <p>Bound to commandLink actionListener in the ui that renders/unrenders
        * the Customer details for editing.</p>
        */
    public void toggleSelected(ActionEvent e) {
        facCod = factura.getFacCod().toString();
        facFecha = factura.getFacFecha();
        estCod_Estado = (factura.getEstado().getEstCod() != null)
            ? factura.getEstado().getEstCod().toString() : null;
        proInmCod_PropietarioInmueble = (factura.getPropietarioInmueble()
                                                .getProInmCod() != null)
            ? factura.getPropietarioInmueble().getProInmCod().toString() : null;
        rowSelected = !rowSelected;
    }

    public void setFactura(Factura factura) {
        this.factura = factura;
    }

    public FacturaView getFacturaView() {
        return facturaView;
    }

    public void setFacturaView(FacturaView facturaView) {
        this.facturaView = facturaView;
    }

    public String getEstCod_Estado() {
        return estCod_Estado;
    }

    public void setEstCod_Estado(String estCod_Estado) {
        this.estCod_Estado = estCod_Estado;
    }

    public String getProInmCod_PropietarioInmueble() {
        return proInmCod_PropietarioInmueble;
    }

    public void setProInmCod_PropietarioInmueble(
        String proInmCod_PropietarioInmueble) {
        this.proInmCod_PropietarioInmueble = proInmCod_PropietarioInmueble;
    }

    public Date getFacFecha() {
        return facFecha;
    }

    public void setFacFecha(Date facFecha) {
        this.facFecha = facFecha;
    }

    public String getFacCod() {
        return facCod;
    }

    public void setFacCod(String facCod) {
        this.facCod = facCod;
    }

    public boolean isRowSelected() {
        return rowSelected;
    }

    public void setRowSelected(boolean rowSelected) {
        this.rowSelected = rowSelected;
    }
}
